-
Notifications
You must be signed in to change notification settings - Fork 4.6k
[RFC] Improve PortableHost{Collection,Object} dictionary declarations
#48824
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…heir aliased types in classes_def.xml In ROOT presently the type alias gets listed in the rootmap file only if the alias is requested before the real type. Having the type alias in the rootmap file is necessary to avoid header parsing for the execution of the read rules that use the type alias names.
|
cms-bot internal usage |
|
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48824/45942 |
|
A new Pull Request was created by @makortel for master. It involves the following packages:
@cmsbuild, @fwyzard, @makortel can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
|
@cmsbuild, please test |
|
+1 Size: This PR adds an extra 20KB to repository Comparison SummarySummary:
|
|
Milestone for this pull request has been moved to CMSSW_16_0_X. Please open a backport if it should also go in to CMSSW_15_1_X. |
|
@fwyzard Given
regardless of #49458 we should probably revive this PR and go systematically through all dictionary definitions of I have a vague recollection though there was some detail I was not happy with, but I can't remember what it was. |
|
I must admit I actually didn't remember about this PR :-( |
|
Is there any way we can make the read rules themselves more robust? |
|
For example, something I noticed earlier today is that for the (deprecated) cases where a class inherits from a PortableCollection, the read rule refers to the portable collection, not to the derived class. |
We'd need help from ROOT @pcanal @vepadulano
To my understanding of ROOT read rules (that could be wrong) I believe that case would work properly. ROOT uses the |
PR description:
Testing ROOT PR on an option to disable header parsing during
TClass::GetClass()call (root-project/root#18402) it was noticed the type alias gets listed in therootmapfile only if the alias is requested before the real type (see root-project/root#19705 for more details).In the mean time, having the type alias in the
rootmapfile is necessary to avoid header parsing for the execution of the read rules that use the type alias names, e.g.cmssw/DataFormats/Portable/interface/PortableHostCollectionReadRules.h
Line 84 in 2de4944
, and therefore it seemed worthwhile to change the dictionaries with
PortableHost{Collection,Object}.In the present state this PR demonstrates what the impact would be for the
PortableTestObjects. If deemed viable, the next steps would be to updateDataFormats/PortableREADME andscripts, and then update all the otherclasses_def.xmlfiles that declare these portable data products.Resolves cms-sw/framework-team#1542
PR validation:
The
testHeterogeneousCoreAlpakaTestWriteReadSerialSyncunit test succeeds with the build of cms-sw/root#222 (comment). The resultingrootmapcontains the::Product,::Layout, and::Implementationtype aliases that the read rules use.